package com.linkhub.oms.admin.modules.system.domain.vo;

import cn.dev33.satoken.stp.SaTokenInfo;
import cn.hutool.core.bean.BeanUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @Description: LhTokenInfoDTO
 * @Author: echo
 * @Date: 2024/3/7 10:20
 * @Version: 1.0
 */
@Data
@ApiModel("LhTokenInfoDTO")
public class LhTokenInfoDTO implements Serializable {

    /** token 名称 */
    @ApiModelProperty(value = "token 名称")
    private String tokenName;

    /** token 值 */
    @ApiModelProperty(value = "token 值")
    private String tokenValue;

    /** token 剩余有效期（单位: 秒） */
    @ApiModelProperty(value = "token 剩余有效期")
    private long tokenTimeout;

    /** Account-Session 剩余有效时间（单位: 秒） */
    @ApiModelProperty(value = "Account-Session")
    private long sessionTimeout;

    public static LhTokenInfoDTO create(SaTokenInfo tokenInfo) {
        LhTokenInfoDTO dto = new LhTokenInfoDTO();
        BeanUtil.copyProperties(tokenInfo, dto);
        return dto;

    }
}
